<html>
<head><meta charset="utf-8"><title>Separate unsized fn param from unsized locals #72029 · t-compiler · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/index.html">t-compiler</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html">Separate unsized fn param from unsized locals #72029</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="196992433"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/196992433" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#196992433">(May 09 2020 at 13:47)</a>:</h4>
<p>Hey <span class="user-mention" data-user-id="124288">@oli</span> <span class="user-mention" data-user-id="120791">@RalfJ</span> opening this thread here to talk about <a href="https://github.com/rust-lang/rust/issues/72029" title="https://github.com/rust-lang/rust/issues/72029">#72029</a></p>



<a name="196992437"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/196992437" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#196992437">(May 09 2020 at 13:47)</a>:</h4>
<p>won't be around today</p>



<a name="196992444"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/196992444" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#196992444">(May 09 2020 at 13:48)</a>:</h4>
<p>just wanted to mention this part ...</p>



<a name="196992494"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/196992494" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#196992494">(May 09 2020 at 13:48)</a>:</h4>
<p>There's a problem right now, I'm getting the following error ...</p>
<div class="codehilite"><pre><span></span><code> Expected a gate test for the feature &#39;unsized_fn_params&#39;.
Hint: create a failing test file named &#39;feature-gate-unsized_fn_params.rs&#39;
      in the &#39;ui&#39; test suite, with its failures due to
      missing usage of `#![feature(unsized_fn_params)]`.
Hint: If you already have such a test and don&#39;t want to rename it,
      you can also add a // gate-test-unsized_fn_params line to the test file.
</code></pre></div>


<p>But I'm not sure how can I add this test given that this thing is turned on, in liballoc and used there so unsure how I can create a test that doesn't use the flag and produce an error.</p>



<a name="196992502"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/196992502" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#196992502">(May 09 2020 at 13:48)</a>:</h4>
<p>or if I should just do something to ignore this check or what</p>



<a name="196992507"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/196992507" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#196992507">(May 09 2020 at 13:49)</a>:</h4>
<p>also cc <span class="user-mention" data-user-id="116009">@nikomatsakis</span> <span class="user-mention" data-user-id="119009">@eddyb</span></p>



<a name="196992757"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/196992757" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Hanna Kruppe <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#196992757">(May 09 2020 at 13:55)</a>:</h4>
<p>I don't see the problem? Lots of feature are turned on in libcore/alloc/std and none of them should "leak" into other crates. In this case liballoc uses the feature gate to provide an impl that can be used on stable, but IIUC the feature gate controls the ability to <em>declare</em> e.g. <code>fn foo(x: dyn SomeTrait) {}</code>, and this should be testable.</p>



<a name="198120154"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198120154" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198120154">(May 19 2020 at 20:11)</a>:</h4>
<p>ping <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> : I was looking over PR <a href="https://github.com/rust-lang/rust/issues/72029">#72029</a></p>



<a name="198120189"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198120189" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198120189">(May 19 2020 at 20:12)</a>:</h4>
<p>hey</p>



<a name="198120275"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198120275" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198120275">(May 19 2020 at 20:12)</a>:</h4>
<p>From the most recent comments you've posted there, it seems like you are not certain on why enabling<code>feature(unsized_fn_params)</code> is not "fixing" one of the tests?</p>



<a name="198120303"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198120303" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198120303">(May 19 2020 at 20:12)</a>:</h4>
<p>I checked out your branch and did a grep of the code</p>



<a name="198120325"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198120325" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198120325">(May 19 2020 at 20:13)</a>:</h4>
<p>one thing that may be worth noting: fn arguments are a special case of pattern bindings</p>



<a name="198120382"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198120382" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198120382">(May 19 2020 at 20:13)</a>:</h4>
<p>and so I noticed a code path guarded by <code>unsized_locals</code></p>



<a name="198120399"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198120399" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198120399">(May 19 2020 at 20:13)</a>:</h4>
<p>within a <code>fn visit_pat</code> method</p>



<a name="198120521"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198120521" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198120521">(May 19 2020 at 20:14)</a>:</h4>
<p>and that may need to <em>also</em> be enabled by your <code>feature(unsized_fn_params)</code> code. Or you may need to revise that bit of code to make sure that your new feature enables that path if <em>and only if</em> you are looking at a pat that happens to be a fn param</p>



<a name="198120601"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198120601" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198120601">(May 19 2020 at 20:15)</a>:</h4>
<p>I'm speaking of <a href="https://github.com/rust-lang/rust/blob/88e2b96b3b415709fea3629d23625e5e199ea850/src/librustc_typeck/check/mod.rs#L1239">this line here</a></p>



<a name="198120756"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198120756" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198120756">(May 19 2020 at 20:16)</a>:</h4>
<p>yeah, I thought that that may have been involved</p>



<a name="198120767"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198120767" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198120767">(May 19 2020 at 20:17)</a>:</h4>
<p>see also <a href="https://github.com/rust-lang/rust/blob/88e2b96b3b415709fea3629d23625e5e199ea850/src/librustc_typeck/check/mod.rs#L1370">this other line here</a></p>



<a name="198120850"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198120850" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198120850">(May 19 2020 at 20:17)</a>:</h4>
<p>(of course if one goes too far down this path, all you'll manage to do is rename <code>unsized_locals</code> to a new name, without actually <em>splitting</em> it. <span aria-label="smile" class="emoji emoji-263a" role="img" title="smile">:smile:</span> )</p>



<a name="198120880"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198120880" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198120880">(May 19 2020 at 20:17)</a>:</h4>
<p>hehe yeah</p>



<a name="198120889"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198120889" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198120889">(May 19 2020 at 20:17)</a>:</h4>
<p>anyway I think I'll mark this PR as waiting-on-author if you don't mind</p>



<a name="198120944"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198120944" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198120944">(May 19 2020 at 20:18)</a>:</h4>
<p>sure, go ahead</p>



<a name="198120957"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198120957" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198120957">(May 19 2020 at 20:18)</a>:</h4>
<p>maybe first I'll transcribe this same note into the PR itself for people in general to see</p>



<a name="198120996"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198120996" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198120996">(May 19 2020 at 20:18)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116083">pnkfelix</span> <a href="#narrow/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029/near/198120767">said</a>:</p>
<blockquote>
<p>see also <a href="https://github.com/rust-lang/rust/blob/88e2b96b3b415709fea3629d23625e5e199ea850/src/librustc_typeck/check/mod.rs#L1370">this other line here</a></p>
</blockquote>
<p>what about this line in particular, sorry?</p>



<a name="198121006"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198121006" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198121006">(May 19 2020 at 20:18)</a>:</h4>
<p>unsure if I got exactly what you meant</p>



<a name="198121437"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198121437" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198121437">(May 19 2020 at 20:22)</a>:</h4>
<p>that other line is another case where the <code>unsized_locals</code> feature is being checked</p>



<a name="198121464"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198121464" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198121464">(May 19 2020 at 20:22)</a>:</h4>
<p>but it is specifically about the inputs to some <code>fn</code></p>



<a name="198121498"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198121498" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198121498">(May 19 2020 at 20:22)</a>:</h4>
<p>(although I'll admit I'm not sure what the impact of the <code>.simple_ident().is_none()</code> check is there)</p>



<a name="198121539"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198121539" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198121539">(May 19 2020 at 20:23)</a>:</h4>
<p>anyway my point is that its another spot you might need to inspect.</p>



<a name="198121553"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198121553" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198121553">(May 19 2020 at 20:23)</a>:</h4>
<p>I imagine you <em>did</em> already inspect all of these points</p>



<a name="198121593"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198121593" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198121593">(May 19 2020 at 20:23)</a>:</h4>
<p>but the fact that this code is specifically about the handling of formal fn params led me to think that it might be relevant.</p>



<a name="198123005"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198123005" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198123005">(May 19 2020 at 20:34)</a>:</h4>
<p>yep, thanks for those pointers</p>



<a name="198225188"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198225188" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198225188">(May 20 2020 at 16:43)</a>:</h4>
<p>(You know, <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> , one way to get unblocked here, and maybe just "the right thing" over all, could be to force the developer to opt into both flags. I.e., if you turn <code>#[feature(unsized_fn_params)]</code> on, maybe you have to turn on <code>#[feature(unsized_locals)]</code> too ...)</p>



<a name="198225270"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198225270" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198225270">(May 20 2020 at 16:43)</a>:</h4>
<p>I'm not sure how much I actually <em>believe</em> in the aforementioned approach, but it might be worth considering...</p>



<a name="198228036"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198228036" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198228036">(May 20 2020 at 17:04)</a>:</h4>
<p>this was my first attempt</p>



<a name="198228068"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198228068" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198228068">(May 20 2020 at 17:05)</a>:</h4>
<p>but I believe this is not really splitting things as we want</p>



<a name="198228162"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198228162" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198228162">(May 20 2020 at 17:05)</a>:</h4>
<p>I'm going to investigate on this issue tomorrow probably</p>



<a name="198255161"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198255161" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198255161">(May 20 2020 at 20:46)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> : I just wanted to confirm: in the current state of your branch, you haven't added <code>#[feature(unsized_fn_params)]</code> to <em>any</em> of the tests, right?</p>



<a name="198255236"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198255236" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198255236">(May 20 2020 at 20:47)</a>:</h4>
<p>(nor even replaced <code>#[feature(unsized_locals)]</code> with <code>#[feature(unsized_fn_params)]</code> in any of the tests)</p>



<a name="198260041"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198260041" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198260041">(May 20 2020 at 21:34)</a>:</h4>
<p>also I think I have a straight-forward way to deal with the "am I within a pat that is part of a fn param" issue: add a flag to the visitor that is set/unset by an overridden <code>fn visit_param</code> on that same visitor. Something like this:</p>
<div class="codehilite"><pre><span></span><code><span class="w">    </span><span class="k">fn</span> <span class="nf">visit_param</span><span class="p">(</span><span class="o">&amp;</span><span class="k">mut</span><span class="w"> </span><span class="bp">self</span><span class="p">,</span><span class="w"> </span><span class="n">param</span>: <span class="kp">&amp;</span><span class="na">&#39;tcx</span><span class="w"> </span><span class="n">hir</span>::<span class="n">Param</span><span class="o">&lt;</span><span class="na">&#39;tcx</span><span class="o">&gt;</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">        </span><span class="bp">self</span><span class="p">.</span><span class="n">within_fn_param</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span><span class="w"></span>
<span class="w">        </span><span class="n">intravisit</span>::<span class="n">walk_param</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="w"> </span><span class="n">param</span><span class="p">);</span><span class="w"></span>
<span class="w">        </span><span class="bp">self</span><span class="p">.</span><span class="n">within_fn_param</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">false</span><span class="p">;</span><span class="w"></span>
<span class="w">    </span><span class="p">}</span><span class="w"></span>
</code></pre></div>



<a name="198260474"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198260474" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198260474">(May 20 2020 at 21:38)</a>:</h4>
<p>(I am playing with a local copy of your branch and may be able to post a suggestion commit in the near future)</p>



<a name="198319868"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198319868" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198319868">(May 21 2020 at 13:25)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116083">pnkfelix</span> <a href="#narrow/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029/near/198255236">said</a>:</p>
<blockquote>
<p>(nor even replaced <code>#[feature(unsized_locals)]</code> with <code>#[feature(unsized_fn_params)]</code> in any of the tests)</p>
</blockquote>
<p>nope</p>



<a name="198319880"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198319880" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198319880">(May 21 2020 at 13:25)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116083">pnkfelix</span> <a href="#narrow/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029/near/198260474">said</a>:</p>
<blockquote>
<p>(I am playing with a local copy of your branch and may be able to post a suggestion commit in the near future)</p>
</blockquote>
<p><span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span></p>



<a name="198319888"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198319888" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198319888">(May 21 2020 at 13:25)</a>:</h4>
<p>today I may have time for this</p>



<a name="198399007"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198399007" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198399007">(May 22 2020 at 01:48)</a>:</h4>
<p>hey <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> , I have put some commits illustrating ways you can try to address your problems over here: <a href="https://github.com/pnkfelix/rust/tree/separate-unsized-locals">https://github.com/pnkfelix/rust/tree/separate-unsized-locals</a></p>



<a name="198439011"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198439011" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198439011">(May 22 2020 at 13:10)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> <span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span>, one question though, why did you added <code>unsized_fn_params</code> to <code>INCOMPLETE_FEATURES</code> <a href="https://github.com/pnkfelix/rust/commit/a4e76f830b23e035a542f2fef808a9ba4ab90f47#diff-9e39c9410dacf4c689a770a17b8f9813R588">here</a>?</p>



<a name="198439068"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198439068" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198439068">(May 22 2020 at 13:11)</a>:</h4>
<p>I thought we were just making <code>unsized_params</code> an <code>INCOMPLETE_FEATURE</code> but not <code>unsized_fn_params</code></p>



<a name="198442644"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198442644" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198442644">(May 22 2020 at 13:46)</a>:</h4>
<p>because I don't know which one is the incomplete feature</p>



<a name="198442683"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198442683" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198442683">(May 22 2020 at 13:47)</a>:</h4>
<p>changing that back should reduce the size of the diff, since the tests won't need to be changed as much</p>



<a name="198442839"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198442839" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198442839">(May 22 2020 at 13:48)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> I'll let you take care of changing that back</p>



<a name="198442873"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198442873" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198442873">(May 22 2020 at 13:49)</a>:</h4>
<p>(or feel free to adapt whatever parts of my commits that you like. In any case, we definitely need more tests.)</p>



<a name="198443012"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198443012" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198443012">(May 22 2020 at 13:50)</a>:</h4>
<p>(since all this does is adapt existing tests; there are new cases that need to be tested specifically, I think...)</p>



<a name="198451650"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198451650" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198451650">(May 22 2020 at 15:02)</a>:</h4>
<p>I'm going to take care of this today</p>



<a name="198451658"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198451658" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198451658">(May 22 2020 at 15:02)</a>:</h4>
<p>thanks for the investigation</p>



<a name="198451702"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198451702" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198451702">(May 22 2020 at 15:02)</a>:</h4>
<p>at the very least, I did manage to do a bootstrap build and test with the branch I linked above</p>



<a name="198451782"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198451782" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198451782">(May 22 2020 at 15:03)</a>:</h4>
<p>also, by the way</p>



<a name="198451818"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198451818" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198451818">(May 22 2020 at 15:03)</a>:</h4>
<p><del>we should consider still adding <code>unsized_fn_params</code> to <code>INCOMPLETE_FEATURES</code></del></p>



<a name="198451875"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198451875" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198451875">(May 22 2020 at 15:04)</a>:</h4>
<p><del>and have taking it out of <code>INCOMPLETE_FEATURES</code> be a separate PR</del></p>



<a name="198451881"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198451881" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198451881">(May 22 2020 at 15:04)</a>:</h4>
<p>or ... well</p>



<a name="198451893"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198451893" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198451893">(May 22 2020 at 15:04)</a>:</h4>
<p>was <code>unsized_locals</code> already in <code>INCOMPLETE_FEATURES</code> ?</p>



<a name="198451948"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198451948" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198451948">(May 22 2020 at 15:04)</a>:</h4>
<p>oh it wasn't</p>



<a name="198451954"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198451954" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198451954">(May 22 2020 at 15:04)</a>:</h4>
<p>okay then never mind</p>



<a name="198462929"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198462929" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198462929">(May 22 2020 at 16:28)</a>:</h4>
<p><span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span></p>



<a name="198485590"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198485590" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198485590">(May 22 2020 at 19:37)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> just had some minutes for this and should be ready now</p>



<a name="198486485"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198486485" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198486485">(May 22 2020 at 19:45)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> did you want to remove the draft tag from the PR?</p>



<a name="198486517"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198486517" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198486517">(May 22 2020 at 19:45)</a>:</h4>
<p>yes and I'm rebasing</p>



<a name="198486542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198486542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198486542">(May 22 2020 at 19:45)</a>:</h4>
<p>there are conflicts with master</p>



<a name="198486569"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198486569" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198486569">(May 22 2020 at 19:45)</a>:</h4>
<p>running tests again on ui and all that :)</p>



<a name="198495597"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198495597" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198495597">(May 22 2020 at 21:11)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> this is ready for review</p>



<a name="198527479"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198527479" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198527479">(May 23 2020 at 09:40)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116266">Santiago Pastorino</span> <a href="#narrow/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029/near/198439068">said</a>:</p>
<blockquote>
<p>I thought we were just making <code>unsized_params</code> an <code>INCOMPLETE_FEATURE</code> but not <code>unsized_fn_params</code></p>
</blockquote>
<p>what is <code>unsized_params</code>, I thought there is just <code>unsized_locals</code> and <code>unsized_fn_params</code>?</p>



<a name="198532705"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198532705" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198532705">(May 23 2020 at 12:12)</a>:</h4>
<p>I meant <code>unsized_locals</code> :)</p>



<a name="198552236"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198552236" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198552236">(May 23 2020 at 21:10)</a>:</h4>
<p><span class="user-mention" data-user-id="120791">@RalfJ</span> addessed your comments but didn't get the one about enabling the feature in <code>liballoc</code> and <code>libcore</code>,  tests should also be passing now. Let's wait for the CI.</p>



<a name="198802119"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198802119" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198802119">(May 26 2020 at 18:29)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> did you want to talk about the PR here?</p>



<a name="198802345"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198802345" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198802345">(May 26 2020 at 18:31)</a>:</h4>
<p>yes</p>



<a name="198802373"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198802373" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198802373">(May 26 2020 at 18:31)</a>:</h4>
<p>couldn't read and think about Ralf's comments yet</p>



<a name="198802383"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198802383" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198802383">(May 26 2020 at 18:31)</a>:</h4>
<p>let me check those again</p>



<a name="198802399"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198802399" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198802399">(May 26 2020 at 18:31)</a>:</h4>
<p>I don't think I have bandwidth to try to look at the code itself</p>



<a name="198802419"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198802419" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198802419">(May 26 2020 at 18:31)</a>:</h4>
<p>but it seems that this is close modulo Ralf last comment</p>



<a name="198802482"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198802482" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198802482">(May 26 2020 at 18:32)</a>:</h4>
<p>but what I would recommend, perhaps, is some methodologies for narrowing down which part of the change was wrong</p>



<a name="198802521"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198802521" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198802521">(May 26 2020 at 18:32)</a>:</h4>
<p>namely, if you add a Z flag (or set of Z flags) for controlling how each changed boolean test is handled</p>



<a name="198802560"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198802560" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198802560">(May 26 2020 at 18:32)</a>:</h4>
<p>then you will be able to quickly experiment, on the command line, with different semantics</p>



<a name="198802570"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198802570" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198802570">(May 26 2020 at 18:32)</a>:</h4>
<p>without having to wait for a rebuild in between each one</p>



<a name="198802620"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198802620" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198802620">(May 26 2020 at 18:33)</a>:</h4>
<p>Its sort of overkill, arguably. Like using a bazooka to kill a moth</p>



<a name="198802676"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198802676" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198802676">(May 26 2020 at 18:33)</a>:</h4>
<p>hehehe</p>



<a name="198802757"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198802757" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198802757">(May 26 2020 at 18:34)</a>:</h4>
<p>Usually I would prefer to try to sit down and understand the code directly, perhaps with some <code>debug!</code> instrumentation added. But sometimes the best option is to add <em>some way</em> to do the kind of direct experimentation I am suggesting.</p>



<a name="198802956"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198802956" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198802956">(May 26 2020 at 18:36)</a>:</h4>
<p>Like, there are something like five or six <code>if</code> statements that were modified here to look at a different feature flag. And my memory is that there weren't that many others that were left unchanged</p>



<a name="198803265"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198803265" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198803265">(May 26 2020 at 18:38)</a>:</h4>
<p>so if you add a <code>-Z take-control-of-tests=&lt;number&gt;</code>, and then use the individual bits of <code>&lt;number&gt;</code> to dictate whether each of those <code>if</code>-statements (including the ones currently unchanged) use <code>.unsized_locals</code> alone, or <code>.unsized_fn_params</code> alone, or the OR of them, then you can feed things like <code>-Z take-control-of-tests=0x2cafe</code> or some such to control them.</p>



<a name="198803338"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198803338" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198803338">(May 26 2020 at 18:39)</a>:</h4>
<p>(am I unhappy that I'm making this suggestion? Yes, I am. I would prefer if the rebuild time were fast enough that such a suggestion would be laughable...)</p>



<a name="198803901"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198803901" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198803901">(May 26 2020 at 18:43)</a>:</h4>
<p>hehehe</p>



<a name="198803913"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198803913" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198803913">(May 26 2020 at 18:43)</a>:</h4>
<p>but yeah good points</p>



<a name="198804060"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198804060" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198804060">(May 26 2020 at 18:44)</a>:</h4>
<p>alternatively, you could just start by adding <code>debug!</code> instrumentation to all of the aforementioned points, and then try to dissect the log on the cases of interest</p>



<a name="198807345"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198807345" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198807345">(May 26 2020 at 19:08)</a>:</h4>
<p>yep</p>



<a name="198807420"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/198807420" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#198807420">(May 26 2020 at 19:08)</a>:</h4>
<p>will try that as soon as I finish other stuff I'm doing</p>



<a name="200231956"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200231956" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200231956">(Jun 09 2020 at 14:03)</a>:</h4>
<p>hey <span class="user-mention" data-user-id="116083">@pnkfelix</span>, I did not forget about this issue :)</p>



<a name="200231970"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200231970" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200231970">(Jun 09 2020 at 14:03)</a>:</h4>
<p>just coming back to it</p>



<a name="200232159"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200232159" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200232159">(Jun 09 2020 at 14:04)</a>:</h4>
<p>to understand a bit more about this issue, one thing I guess I'm not 100% sure is the whole picture of <code>unsized_locals</code></p>



<a name="200232318"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200232318" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200232318">(Jun 09 2020 at 14:05)</a>:</h4>
<p>I meant, it seems that we were using that flag to enable unsized locals to be used in Rust code in general but given that is kind of half baked, now we want to have <code>unsized_fn_params</code> for unsized fn arguments, but what is not very clear is what <code>unsized_locals</code> is representing now</p>



<a name="200232577"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200232577" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200232577">(Jun 09 2020 at 14:07)</a>:</h4>
<p>my assumption is that it's representing half baked support for unsized locals in general without unsized fn arguments in it</p>



<a name="200259378"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200259378" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200259378">(Jun 09 2020 at 16:54)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116266">Santiago Pastorino</span> <a href="#narrow/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029/near/200232577">said</a>:</p>
<blockquote>
<p>my assumption is that it's representing half baked support for unsized locals in general without unsized fn arguments in it</p>
</blockquote>
<p>yes that was my reading as well. It represents the unfinished (buggy) part of the feature</p>



<a name="200263466"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200263466" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200263466">(Jun 09 2020 at 17:28)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> right, so after my change ... <code>unsized_locals</code> would be some parts of some parts of an unsized locals working system, right? :)</p>



<a name="200263526"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200263526" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200263526">(Jun 09 2020 at 17:28)</a>:</h4>
<p>?</p>



<a name="200263587"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200263587" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200263587">(Jun 09 2020 at 17:28)</a>:</h4>
<p>I don't know, I thought it represented all <code>unsized_locals</code></p>



<a name="200263620"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200263620" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200263620">(Jun 09 2020 at 17:29)</a>:</h4>
<p>unless you are consider fn params to be a special case of a local?</p>



<a name="200263676"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200263676" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200263676">(Jun 09 2020 at 17:29)</a>:</h4>
<p>what I'm trying to understand is ... <code>unsized_locals</code> did have some meaning at the beginning which was a feature flag to enable unsized locals in Rust code</p>



<a name="200263685"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200263685" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200263685">(Jun 09 2020 at 17:29)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116083">pnkfelix</span> <a href="#narrow/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029/near/200263620">said</a>:</p>
<blockquote>
<p>unless you are consider fn params to be a special case of a local?</p>
</blockquote>
<p>yes</p>



<a name="200263788"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200263788" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200263788">(Jun 09 2020 at 17:30)</a>:</h4>
<p>okay so sure, I would interpret <code>unsized_locals</code> to now be talking about non-fn-param locals</p>



<a name="200263791"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200263791" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200263791">(Jun 09 2020 at 17:30)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116266">Santiago Pastorino</span> <a href="#narrow/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029/near/200263676">said</a>:</p>
<blockquote>
<p>what I'm trying to understand is ... <code>unsized_locals</code> did have some meaning at the beginning which was a feature flag to enable unsized locals in Rust code</p>
</blockquote>
<p>and now it seems like the semantics of it looks more like left overs of something half baked rather than something with some meaning?</p>



<a name="200263799"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200263799" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200263799">(Jun 09 2020 at 17:30)</a>:</h4>
<p>things introduced e.g. via <code>let</code></p>



<a name="200263831"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200263831" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200263831">(Jun 09 2020 at 17:30)</a>:</h4>
<p><span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span></p>



<a name="200263838"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200263838" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200263838">(Jun 09 2020 at 17:30)</a>:</h4>
<p>ok, right</p>



<a name="200263858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200263858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200263858">(Jun 09 2020 at 17:30)</a>:</h4>
<p>sounds like what I was thinking :)</p>



<a name="200263938"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200263938" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200263938">(Jun 09 2020 at 17:31)</a>:</h4>
<p>anyway, makes sense, I was trying to understand if my assumptions were right</p>



<a name="200264125"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200264125" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200264125">(Jun 09 2020 at 17:32)</a>:</h4>
<p>What alternative interpretation were you considering? Maybe to have <code>unsized_locals</code> include fn params?</p>



<a name="200264158"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200264158" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200264158">(Jun 09 2020 at 17:32)</a>:</h4>
<p>(i.e. effectively <code>unsized_locals</code> would <em>imply</em> <code>unsized_fn_params</code> ?)</p>



<a name="200265363"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200265363" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200265363">(Jun 09 2020 at 17:42)</a>:</h4>
<p>I wasn't considering any particular alternative, I was just considering that I may have been misunderstanding something</p>



<a name="200265384"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200265384" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200265384">(Jun 09 2020 at 17:42)</a>:</h4>
<p>just wanted to check if my assumptions were right</p>



<a name="200265643"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200265643" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200265643">(Jun 09 2020 at 17:45)</a>:</h4>
<p>part of my doubt was raised by the comment <span class="user-mention" data-user-id="120791">@RalfJ</span> has made, that <code>unsized_locals</code> feature is unsound and shouldn't be used in libcore/liballoc</p>



<a name="200265835"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200265835" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200265835">(Jun 09 2020 at 17:46)</a>:</h4>
<p>my reasoning was ... ok, it shouldn't be used, but it is used in current master. If <span class="user-mention" data-user-id="120791">@RalfJ</span> is saying that it shouldn't be used, I guess that implies that the only thing from <code>unsized_locals</code> that was used on libcore/liballoc is what it's included right now in <code>unsized_fn_params</code></p>



<a name="200265891"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200265891" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200265891">(Jun 09 2020 at 17:47)</a>:</h4>
<p>I'm making this reasoning and reaching that conclusion from their comment because I have no idea what liballoc/libcore is using and why</p>



<a name="200272284"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200272284" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200272284">(Jun 09 2020 at 18:39)</a>:</h4>
<p>well maybe we should review what part is unsound</p>



<a name="200272510"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200272510" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200272510">(Jun 09 2020 at 18:41)</a>:</h4>
<p>note specifically that when <span class="user-mention silent" data-user-id="120791">RalfJ</span> registered their concern, they later did an experiment and <a href="https://github.com/rust-lang/rust/issues/71416#issuecomment-617575672">determined</a> that, at that time, the <em>particular</em> use of the feature within <code>libstd</code> never generated the code that <span class="user-mention silent" data-user-id="120791">RalfJ</span> is worried about being unsound</p>



<a name="200272688"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200272688" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200272688">(Jun 09 2020 at 18:42)</a>:</h4>
<p>its LLVM's <code>alloca</code> that do not uphold alignment guarantees. I am assuming that fn params do not use <code>alloca</code>, right?</p>



<a name="200273005"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200273005" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200273005">(Jun 09 2020 at 18:45)</a>:</h4>
<p>(I assume instead that fn params can rely on the parameter stack being aligned to a certain boundary when the arguments are placed on it, and also that it inserts any necessary padding to ensure required alignments of those arguments. I haven't checked any of these claims myself; its just what I'm assuming based on the conversation.)</p>



<a name="200273177"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200273177" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200273177">(Jun 09 2020 at 18:46)</a>:</h4>
<p>For <code>extern "Rust" fn</code> any types that are <code>Abi::ByRef</code> are passed as pointer argument. The actual argument is not copied to a different place. For <code>extern "C" fn</code> any types that are <code>Abi::ByRef</code> are copied to the argument part of the stack. In this case there can be a misalignment.</p>



<a name="200273319"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200273319" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200273319">(Jun 09 2020 at 18:47)</a>:</h4>
<p>that's interesting; I didn't know about <code>Abi::ByRef</code> having different interpretations depending on which calling convention is specified.</p>



<a name="200273500"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200273500" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200273500">(Jun 09 2020 at 18:49)</a>:</h4>
<p><span class="user-mention" data-user-id="133247">@bjorn3</span> has this detail of <code>extern "C" fn</code> arguments being potentially misaligned also been discussed already? Do we e.g. lint against using types with alignment constraints in those contexts? I am now worried whether we have started down the wrong path of how to implement this feature.</p>



<a name="200273563"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200273563" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200273563">(Jun 09 2020 at 18:49)</a>:</h4>
<p>By "implement", I really mean "how to work around (in the short-term) the shortcomings in this feature"</p>



<a name="200273575"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200273575" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200273575">(Jun 09 2020 at 18:49)</a>:</h4>
<p>I only know this because I found an ABI incompatibility with cg_llvm in cg_clif for <code>extern "C" fn</code>. I just always passed a pointer for <code>Abi::ByRef</code>. Cranelift unfortunately doesn't have support for struct argument passing.</p>



<a name="200273693"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200273693" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200273693">(Jun 09 2020 at 18:50)</a>:</h4>
<blockquote>
<p>has this detail of extern "C" fn arguments being potentially misaligned also been discussed already?</p>
</blockquote>
<p>Not that I know of. I just realized it myself when I wrote my reply.</p>



<a name="200273700"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200273700" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200273700">(Jun 09 2020 at 18:50)</a>:</h4>
<p>(I can just hear <span class="user-mention silent" data-user-id="119009">eddyb</span> in the back of my head saying "why didn't we just fix it to do the right thing in the short term by doing the manual realignment trick")</p>



<a name="200273992"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200273992" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200273992">(Jun 09 2020 at 18:52)</a>:</h4>
<p>Unsized fn params are supported by cg_clif, but unsized locals won't be supported until Cranelift implements <code>alloca</code> support. Because of this I am fine with eventual stabilization of unsized fn params, but for unsized locals I prefer if they are not stabilized (yet).</p>



<a name="200289500"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200289500" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200289500">(Jun 09 2020 at 20:58)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116266">Santiago Pastorino</span> <a href="#narrow/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029/near/200265835">said</a>:</p>
<blockquote>
<p>my reasoning was ... ok, it shouldn't be used, but it is used in current master. If <span class="user-mention silent" data-user-id="120791">RalfJ</span> is saying that it shouldn't be used, I guess that implies that the only thing from <code>unsized_locals</code> that was used on libcore/liballoc is what it's included right now in <code>unsized_fn_params</code></p>
</blockquote>
<p>yes that's indeed the case :) or rather, it better should be. everything else would be a critical soundness bug. the entire point og separating the featrues is to make sure that we do not have this critical soundness bug.</p>



<a name="200289531"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200289531" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200289531">(Jun 09 2020 at 20:59)</a>:</h4>
<p>as far as I am concerned that is literally the only reason to split this feature^^</p>



<a name="200289577"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200289577" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200289577">(Jun 09 2020 at 20:59)</a>:</h4>
<p>so if we cannot do both of<br>
a) make libstd use <code>unsized_fn_params</code> (and nothing else), and<br>
b) ensure that <code>unsized_fn_params</code> is sound<br>
then I dont know what any of this would buy us</p>



<a name="200289694"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200289694" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200289694">(Jun 09 2020 at 21:00)</a>:</h4>
<p>what is confusing me is that I thought that was clear to everyone, because why else would we want to do this split? clearly I miscommunicated somewhere.</p>



<a name="200289758"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200289758" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200289758">(Jun 09 2020 at 21:00)</a>:</h4>
<p>now with what <span class="user-mention" data-user-id="133247">@bjorn3</span> says I guess we have to further restrict <code>unsized_fn_params</code> to ABI "Rust" functions</p>



<a name="200289844"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200289844" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200289844">(Jun 09 2020 at 21:01)</a>:</h4>
<p>I have no idea what the pass-unsized-params-wthout-copy hack currently does for ABI "C" functions... maybe the best option is to just entirely disallow unsized params for any non-"Rust" ABI</p>



<a name="200425285"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/200425285" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#200425285">(Jun 10 2020 at 14:42)</a>:</h4>
<p><span class="user-mention silent" data-user-id="120791">RalfJ</span> <a href="#narrow/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029/near/200289531">said</a>:</p>
<blockquote>
<p>as far as I am concerned that is literally the only reason to split this feature^^</p>
</blockquote>
<p>yeah so, my reasoning at the beginning wasn't exactly this one. I thought the idea was that we wanted to disallow the usage of something that is just incomplete (<code>unsized_locals</code>) and only allow the complete feature (<code>unsized_fn_params</code>). But good to know that is also related to what you're describing</p>



<a name="206055748"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/206055748" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#206055748">(Aug 05 2020 at 17:52)</a>:</h4>
<p><span class="user-mention" data-user-id="217081">@Yuki Okushi</span> just saw some comments on <a href="https://github.com/rust-lang/rust/pull/74971#discussion_r464056617">https://github.com/rust-lang/rust/pull/74971#discussion_r464056617</a></p>



<a name="206055801"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/206055801" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#206055801">(Aug 05 2020 at 17:52)</a>:</h4>
<p>let me know if you're going to tackle those, more than happy to leave everything up to you here :)</p>



<a name="206073103"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/206073103" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Yuki Okushi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#206073103">(Aug 05 2020 at 20:20)</a>:</h4>
<p>yeah, I'll address the comments and come up with some tests, but <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> or <span class="user-mention" data-user-id="120791">@RalfJ</span>, I'd appreciate it if you could help the test part to improve coverage!</p>



<a name="206078316"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/206078316" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#206078316">(Aug 05 2020 at 21:06)</a>:</h4>
<p><span class="user-mention silent" data-user-id="217081">Yuki Okushi</span> <a href="#narrow/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029/near/206073103">said</a>:</p>
<blockquote>
<p>yeah, I'll address the comments and come up with some tests, but <span class="user-mention silent" data-user-id="116266">Santiago Pastorino</span> or <span class="user-mention silent" data-user-id="120791">RalfJ</span>, I'd appreciate it if you could help the test part to improve coverage!</p>
</blockquote>
<p>what do you meant exactly with help the test part to improve coverage? do you want me to think about test cases or what exactly?</p>



<a name="206083173"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/206083173" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Yuki Okushi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#206083173">(Aug 05 2020 at 21:57)</a>:</h4>
<p><code>RalfJung</code> said on the PR:</p>
<blockquote>
<p>The key test for this PR is a file that enables <code>unsized_fn_params</code> but not <code>unsized_locals</code>, and then checks that all uses of unsizd locals except for fn params error.</p>
</blockquote>
<p>well, I'm thinking about it a bit, we have some tests which enable <code>unsized_locals</code> and <code>unsized_fn_params</code> both<br>
removing <code>unsized_locals</code> from there (and having them as separate tests) is enough for the above point?</p>



<a name="206113511"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/206113511" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#206113511">(Aug 06 2020 at 07:59)</a>:</h4>
<p>I would expect something like a single test file with only <code>unsized_fn_params</code> and plenty of functions in it that should <em>not</em> work and <code>//~ ERROR</code> annotations for all of them</p>



<a name="206113597"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/206113597" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#206113597">(Aug 06 2020 at 08:00)</a>:</h4>
<p>and <code>library/</code> should stop using <code>unsized_locals</code></p>



<a name="206113623"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/206113623" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#206113623">(Aug 06 2020 at 08:01)</a>:</h4>
<p>the latter and the existing tests you have I think cover pretty well that we still <em>accept</em> enough code with the respective feature flags; the former is necessary to ensure that we also <em>reject</em> enough code.</p>



<a name="206139345"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/206139345" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Yuki Okushi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#206139345">(Aug 06 2020 at 13:21)</a>:</h4>
<p>so <a href="https://github.com/rust-lang/rust/issues/74971">#74971</a> accepts <code>fn a(box box b: Box&lt;Box&lt;[u8]&gt;&gt;) {}</code> with <code>unsized_fn_params</code>, not <code>unsized_locals</code> but it should be gated on the latter.<br>
it seems we check non-trivial patterns like this: <a href="https://github.com/rust-lang/rust/pull/74971/files#diff-1d1b0d29a2e8da97c6bfb6e364d920c7R1378-R1381">https://github.com/rust-lang/rust/pull/74971/files#diff-1d1b0d29a2e8da97c6bfb6e364d920c7R1378-R1381</a><br>
I'm... not sure we could use it here, I haven't found the best way yet</p>



<a name="206139350"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/206139350" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Yuki Okushi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#206139350">(Aug 06 2020 at 13:21)</a>:</h4>
<p>context: <a href="https://github.com/rust-lang/rust/pull/74971#discussion_r464056617">https://github.com/rust-lang/rust/pull/74971#discussion_r464056617</a></p>



<a name="209800132"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/209800132" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Charles Lew <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#209800132">(Sep 11 2020 at 16:03)</a>:</h4>
<p>Ping from triage :) What's the status of this?</p>



<a name="209825889"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/209825889" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#209825889">(Sep 11 2020 at 19:39)</a>:</h4>
<p><span class="user-mention" data-user-id="217081">@Yuki Okushi</span> do you plan to keep working on this?</p>



<a name="209825952"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/209825952" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#209825952">(Sep 11 2020 at 19:40)</a>:</h4>
<p>I have no idea what's left to be done and if you have time to continue but if you don't have the time I may be able to pick it up at some point</p>



<a name="209844139"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/209844139" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> DPC <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#209844139">(Sep 11 2020 at 22:46)</a>:</h4>
<p>i can take over if needed <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span></p>



<a name="209932186"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/209932186" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Yuki Okushi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#209932186">(Sep 13 2020 at 13:42)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> <span class="user-mention" data-user-id="120823">@DPC</span> unfortunately I don't have enough bandwidth to resolve the above point currently, sorry! Feel free to take it over :)</p>



<a name="209933461"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Separate%20unsized%20fn%20param%20from%20unsized%20locals%20%2372029/near/209933461" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> DPC <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Separate.20unsized.20fn.20param.20from.20unsized.20locals.20.2372029.html#209933461">(Sep 13 2020 at 14:15)</a>:</h4>
<p>if you can leave a note on the state in which the PR is in, and what's missing, would be helpful</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>